package main

import (
	"github.com/gin-gonic/gin"
	"github.com/sirupsen/logrus"
	"miao-server/global"
	"miao-server/lib/middleware"
	"miao-server/listener"
)

func main() {
	var err error
	defer logrus.Panicf("系统崩溃")
	//初始化配置
	if err = global.InitConfig(); err != nil {
		logrus.Errorf("初始化配置信息时发生错误：%s", err)
		return
	}
	logrus.Infof("当前系统配置：%+v", global.Conf)
	// 初始化数据库
	global.InitDb()
	// 加载缓存
	global.InitCache()
	// 启动tcp服务
	listener.InitTcpServer()
	// 启动定时任务
	//job.Start()
	// 初始化http服务
	app := gin.New()
	static := app.Group("/")
	static.Static("/plugin", "./plugin")
	r := app.Group("/api/idp")
	r.Use(middleware.HttpLog())
	RegisterRouter(r)
	err = app.Run(global.Conf.Http.Addr)
	if err != nil {
		logrus.Errorf("http服务启动失败：%s", err)
		return
	}
}
